package com.xbongbong.sys.domain.dao;

import com.xbongbong.sys.domain.entity.ApiTokenEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author kaka
 */
@Repository
@Mapper
public interface ApiTokenDao {

    /**
     * 插入apiToken
     * @param apiToken apiToken实体
     * @return 影响记录数
     */
    Integer insert(ApiTokenEntity apiToken);

    /**
     * 更新apiToken
     * @param apiToken apiToken实体
     * @return 影响记录数
     */
    Integer update(ApiTokenEntity apiToken);

    /**
     * 获取某公司的apiToken信息
     * @param corpid 公司id
     * @return corpid对应公司的apiToken信息
     */
    ApiTokenEntity getByCorpid(@Param("corpid") String corpid, @Param("openAppId") Integer openAppId);

    /**
     * 获取corpid对应的所有第三方应用授权记录
     * @param corpid
     * @return
     */
    List<ApiTokenEntity> getByCorpidAndExistOpenApp(@Param("corpid") String corpid);

    /**
     * 获取有效的公司id集合
     * @param endTimeStart
     * @return
     * 创建时间 2020/10/9 11:12 AM
     * 修改时间 2020/10/9 11:12 AM
     * @author chy
     */
    List<String> getCorpidIn(@Param("endTimeStart") Long endTimeStart);
}